const express = require('express')
const session = require('express-session')
const router = express.Router()
const User = require('../db/model/userModel')
const Mail = require('../unitl/mail')
    // const jwt = require('../unitl/jwt')
let codes = {}


/**
 * @api {post} /user/reg  用户登录
 * @apiName 用户登录
 * @apiGroup User
 *
 * @apiParam {String} us 用户名.
 * @apiParam {String} ps 密码.
 * @apiParam {String} code 验证码.
 * @apiSuccess {String} firstname Firstname of the User.
 * @apiSuccess {String} lastname  Lastname of the User.
 */

router.post('/reg', (req, res) => {
        //获取数据
        let { us, ps, code } = req.body
        console.log(req.body)
            // if (!us || !ps) { return res.send({ err: -1, msg: '参数错误' }) }
        if (us && ps && code) {
            console.log('自己输入的code' + code)
                // console.log('存的codes' + codes[us])
            console.log('存的' + codes)

            if (codes != code) { return res.send('验证码错误') }
            User.find({ us })
                .then((data) => {
                    if (data.length > 0) {
                        res.send({ err: -3, msg: '用户名已被使用' })
                    } else {
                        res.send({ err: 0, msg: '注册成功' })
                        return User.insertMany({ us: us, ps: ps })

                    }
                })
                .catch((err) => {
                    res.send({ err: -2, msg: '注册失败' })
                })
        } else {
            return res.send({ err: -1, msg: '用户名密码或验证码为空' })
        }

        //处理数据
        //返回数据
        // res.send('test ok')
    })
    // router.post('/login', (req, res) => {
    //     let { us, ps } = req.body
    //     if (!us || !ps) return res.send({ err: -2, msg: '用户名或密码不能为空' })
    //     User.find({ us, ps })
    //         .then((data) => {
    //             if (data.length > 0) {
    //                 session
    //                 req.session.login = true
    //                 req.session.us = us

//                 //jwt
//                 // let token = jwt.creattoken({ login: true, name: us })
//                 // res.send({ err: 0, msg: '登陆成功', token: token })
//                 res.send({ err: 0, msg: '登陆成功' })
//             } else {
//                 res.send({ err: -1, msg: '账号或密码错误' })

//             }
//         })
// })

router.post('/login', (req, res) => {
    let { code } = req.body
    if (!code) return res.send({ err: -2, msg: '用户名或验证码不能为空' })
    if (codes == code) {
        req.session.login = true
        req.session.code = code
        res.send({ err: 0, msg: '登陆成功', code: code })
    } else {
        res.send({ err: -1, msg: '登陆失败' })
    }
})

router.post('/getmail', (req, res) => {
    let { mail } = req.body
    console.log(req.body)
    let code = parseInt(Math.random() * 10000)
    Mail.send(mail, code)
        .then(() => {
            codes = code
            console.log('codes' + codes)
            res.send('发送成功')
        })
        .catch((err) => {
            res.send('发送失败')
        })
})


router.post('/loginout', (req, res) => {
        req.session.destroy()
        res.send({ err: 0, msg: '退出成功' })
    })
    //注册登陆
    //验证码逻辑接口实现  验证用户名存在   获取验证码
    //apidoc  自动生成api接口文档

module.exports = router